Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- OPEN LINK



  TowTruck from Mozilla Lab

TowTruck is a real time collaboration tool developed by Mozilla lab, it can enable users to do real time chat, voice chat in any webpage. Both sides can see each other's mouse position, it will produce animation when mouse clicked. The classical application for collaborative sides is users can discuss a document while reading the same document or modify some codes or fill up an application form. TowTruck is an open source project. It's very easy to deploy TowTruck, first you need to embed below ...

   TowTruck,Mozillar Lab,HTML5     2013-04-15 12:23:13

  Mastering a New Programming Language: A Professional Guide

Introduction Learning a new programming language can seem daunting, but with the right approach, anyone can become proficient in a new language. Whether you're a beginner or an experienced programmer, mastering a new language can open up new opportunities in your career and enable you to tackle new and exciting programming challenges. In this guide, we'll provide you with a step-by-step process for mastering a new programming language. Step 1: Choose a Language and Set Goals The first step in ma...

   PROGRAMMING,GUIDE,TIPS     2023-04-22 02:52:00

  HeartBleed: OpenBSD now starts to clean up OpenSSL

Since the disclosure of HeartBleed bug in OpenSSL, some arguments emerge around the safety of OpenSSL, the largest open source SSL/TLS library used by large number of servers, applications. Some people are even starting to create their own version of SSL library. This includes OpenBSD, a famous Unix like open source operating system. Just a few days after the HeartBleed bug, OpenBSD forked a new branch of OpenSSL and started to clean up the forked branch and plans to merge it to its own cod...

   HeartBleed,OpenBSD     2014-04-15 04:21:26

  The hidden risk of passing slice as function parameter

In Go's source code or other open source libraries, there are lots of cases where a slice pointer is passed to function instead of slice itself. This brings up a doubt why not passing slice directly as its internal is backed by an array pointer to point to underlying data? For example, in log package, the formatHeader function takes a parameter buf as type *[]byte instead of []byte. func (l *Logger) formatHeader(buf *[]byte, t time.Time, file string, line int) {} Let's understand the r...

   GOLANG,SLICE,SLICE POINTER     2020-12-13 06:11:14

  The details and analysis of capturing gRPC packets

Introduction If you're only using gRPC at the application layer, I believe studying the examples on the gRPC official website is sufficient. However, when planning to extensively use gRPC within a team, you will face many challenges, such as authentication schemes between services, routing solutions for multi-region services, and compatibility solutions with existing RESTful services. I recently realized that applying a technology stack requires mastering a wealth of information about that stack...

   GRPC,GOOGLE     2024-01-14 05:59:13

  Best practices of front end optimization

1. Use DocumentFragment or innerHTML to replace complex elements insertion DOM operation on browser is expensive. Although browser performance is improved much, multiple DOM elements insertion is still expensive and will affect the page load speed. Assume we have an ul element on our page, we now want to retrieve a JSON list using AJAX and then update the ul using JavaScript. Usually we may write it as : var list = document.querySelector('ul'); ajaxResult.items.forEach(function(item) { // ...

   JavaScript,Front end,Optimization,Tips     2013-07-06 11:26:27

  Java 9 release is delayed again

The original Java 9 planned release date is March 2017. But latest source shows that Java 9 release will be delayed again to July 2017. It's four months later than the planned date. Oracle Chief Architect of Java Platform group Mark Reinhold proposes this new release date in a message sent on the OpenJDK mailing list.  Despite this progress, at this point it's clear that Jigsaw needs more time. We recently received critical feedback that motivated a redesign of the module ...

   JAVA,RELEASE DATE,JAVA 9,JAVA 9 DELAY     2016-09-26 12:22:53

  How does PHP session work?

This article is about how PHP session works internally. Below are the steps : 1. Session in PHP is loaded into PHP core as an extension, we can understand it as an extension. When session extension is loaded, PHP will call core functions to get the session save_handler, i.e interface or functions for reading and writing session data. By default, PHP will handle session data by writing and reading files on the server. But PHP also supplies custom methods for handling session data, we can use sess...

   PHP, session, mechanism     2012-12-28 13:36:49

  Resolving error "SSL certificate problem: self signed certificate in certificate chain"

In a PHP application, cURL is frequently used to make connection to remote server to request some resource. It can be used to transfer data with different protocols such as HTTP, HTTPS, FTP etc. While using cURL in PHP, someone may get an error with message similar to "SSL certificate problem: self signed certificate in certificate chain". This may happen when cURL tries to make a SSL connection server and the server returns a server certificate which is self-signed and it's not trusted by the c...

   PHP,SSL,CURL,TWILIO     2016-06-26 07:17:23

  One reason why mcrypt responds slowly

This morning one colleague came over and talked about one script which used mcrypt responded very slowly, the server configurations are fine. But the reason for the slowness is unknown. Here is one script which reproduces the issue: <?php $dmcryptText = "dummy"; $key = "foobar"; $size = mcrypt_get_iv_size(MCRYPT_BLOWFISH,MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($size); //Take care $m = mcrypt_ecb(MCRYPT_BLOWFISH, $key, $dmcryptText, MCRYPT_DECRYPT, $iv); var_dump($m); When 20 requests of&...

   SOLUTION,SLOW,MCRYPT,RESPONSE,PHP     2012-09-27 12:03:16